# Python 趣味编程：第 2 章
#    例題 2.1 动画编程
# --------------------------
# 程序名: 02-ball-1.py

from tkinter import *
import time

DURATION = 0.001   # sleep 时间 = 绘制的间隔
X_RIGHT = 400      # x 的最大値
X = 0              # 球的 X 初始值
Y = 100            # 球的 Y 初始值
D = 10             # 球的直径

tk = Tk()
canvas = Canvas(tk, width=600, height=400, bd=0)
canvas.pack()
tk.update()

id = canvas.create_rectangle(X, Y, X + D, Y + D,
                             fill="darkblue", outline="black")
                   # 绘制方块，取得其 id (标识符)
for x in range(X, X_RIGHT):
    canvas.coords(id, x, Y, x + D, Y + D)  # 设置“新坐标”
    tk.update()             # 将绘图反映到画面上
    time.sleep(DURATION)    # 一直 sleep，直到下一次绘制
